home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
games
/
kids
/
fouryrs.zoo
/
mirror.lst
< prev
next >
Wrap
File List
|
1993-02-21
|
2KB
|
101 lines
' mirror.gfa
' developed by Seymour Shlien
' 624 Courtenay Avenue
' Ottawa, Ontario
' Canada, K2A 3B5
'
' The program and sources are public domain
DIM deskcolors%(16)
DIM xbs_files$(30)
@get_deskcolors
@dir_xbs_files
@read_sound
@dosound
wid%=2
hit%=2
rez%=XBIOS(4)
IF rez%<>0
ALERT 3," Please switch to | low resolution! ",1,"Oops",b%
STOP
ENDIF
@color_bar
DEFFILL 2
REPEAT
IF MOUSEK=1
IF MOUSEY>20
PBOX MOUSEX,MOUSEY,MOUSEX+wid%,MOUSEY+hit%
PBOX 320-MOUSEX,MOUSEY,320-MOUSEX+wid%,MOUSEY+hit%
PBOX MOUSEX,220-MOUSEY,MOUSEX+wid%,220-MOUSEY+hit%
PBOX 320-MOUSEX,220-MOUSEY,320-MOUSEX+wid%,220-MOUSEY+hit%
ELSE IF MOUSEX<180
DEFFILL MOUSEX/20
ELSE IF MOUSEX<230
DEFFILL 8
PBOX 0,20,319,199
ENDIF
ENDIF
UNTIL ((MOUSEX>230) AND (MOUSEY<20) AND (MOUSEK=1))
restore_deskcolors
> PROCEDURE color_bar
VSETCOLOR 1,15,0,0
VSETCOLOR 2,0,15,0
VSETCOLOR 3,0,0,15
VSETCOLOR 4,15,15,0
VSETCOLOR 5,0,15,15
VSETCOLOR 6,15,0,15
VSETCOLOR 7,15,15,15
VSETCOLOR 8,0,0,0
CLS
FOR i=1 TO 8
DEFFILL i
PBOX i*20,8,(i+1)*20,16
NEXT i
DEFTEXT 8
TEXT 184,14,"CLEAR"
TEXT 230,14,"QUIT"
DEFFILL 8
PBOX 0,20,319,199
DEFMOUSE 0
RETURN
> PROCEDURE get_deskcolors
LOCAL i%
FOR i%=0 TO 15
deskcolors%(i%)=XBIOS(7,i%,-1)
NEXT i%
RETURN
> PROCEDURE restore_deskcolors
LOCAL i%
FOR i%=0 TO 15
SETCOLOR i%,deskcolors%(i%)
NEXT i%
RETURN
> PROCEDURE dir_xbs_files
number_of_xbs_files%=0
~FSETDTA(BASEPAGE+128)
e%=FSFIRST("\*.XBS",-1)
DO UNTIL e%
xbs_files$(number_of_xbs_files%)=CHAR{BASEPAGE+158}
e%=FSNEXT()
INC number_of_xbs_files%
LOOP
RETURN
> PROCEDURE read_sound
LOCAL a%,i%
IF number_of_xbs_files%>0
i%=RANDOM(number_of_xbs_files%)
OPEN "i",#1,xbs_files$(i%)
a%=LOF(#1)
DIM music_data&(a%/2)
BLOAD xbs_files$(i%),VARPTR(music_data&(0))
CLOSE #1
ENDIF
RETURN
> PROCEDURE dosound
LOCAL i%
IF number_of_xbs_files%>0
' SPOKE &H484,PEEK(&H484) AND NOT 1
addr%=V:music_data&(0)
~XBIOS(32,L:addr%)
ENDIF
RETURN